package com.ruoyi.puyu.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.xss.Xss;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.math3.analysis.function.Add;

import javax.validation.constraints.NotNull;

/**
 * 教练对象 puyu_coach
 * 
 * @author wusongwen
 * @date 2024-05-01
 */
public class PuyuCoach extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 教练ID */
    private Long coachId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 部门id */
//    @Xss(message = "部门id不能包含脚本字符")
    @NotNull(message = "部门id不能为空")
    @Excel(name = "部门id")
    private Long deptId;

    /** 教练姓名 */
//    @Xss(message = "教练姓名不能包含脚本字符")
    @NotNull(message = "教练姓名不能为空")
    @Excel(name = "教练姓名")
    private String coachName;

    /** 手机号 */
    private String phone;

    /** 底薪 */
//    @Xss(message = "底薪不能包含脚本字符")
    @NotNull(message = "底薪不能为空")
    @Excel(name = "底薪")
    private BigDecimal salaryBasic;

    /** 课时费 */
//    @Xss(message = "课时费不能包含脚本字符")
    @NotNull(message = "课时费不能为空")
    @Excel(name = "课时费")
    private BigDecimal classFee;

    /** 入职时间 */
//    @Xss(message = "入职时间不能包含脚本字符")
    @NotNull(message = "入职时间不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date joinTime;

    /** 删除标志 */
    private String delFlag;

    public void setCoachId(Long coachId) 
    {
        this.coachId = coachId;
    }

    public Long getCoachId() 
    {
        return coachId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setCoachName(String coachName) 
    {
        this.coachName = coachName;
    }

    public String getCoachName() 
    {
        return coachName;
    }
    public void setSalaryBasic(BigDecimal salaryBasic) 
    {
        this.salaryBasic = salaryBasic;
    }

    public BigDecimal getSalaryBasic() 
    {
        return salaryBasic;
    }
    public void setClassFee(BigDecimal classFee) 
    {
        this.classFee = classFee;
    }

    public BigDecimal getClassFee() 
    {
        return classFee;
    }
    public void setJoinTime(Date joinTime) 
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime() 
    {
        return joinTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("coachId", getCoachId())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("coachName", getCoachName())
            .append("phone", getPhone())
            .append("salaryBasic", getSalaryBasic())
            .append("classFee", getClassFee())
            .append("joinTime", getJoinTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
